import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
public class leetcode904 {
    public int totalFruit(int[] fruits) {
        Map<Integer,Integer> hash=new HashMap<>();
        int left=0;
        int len=0;
        for(int right=0;right<fruits.length;right++){
            if(hash.get(fruits[right])==null){
                hash.put(fruits[right],1);
            }else{
                hash.put(fruits[right],hash.get(fruits[right])+1);
            }
            //上述代码可以简化为：
            hash.put(fruits[right],hash.getOrDefault(fruits[right],0)+1) ;
            while(hash.size()>2){
                hash.put(fruits[left],hash.get(fruits[left])-1);
                if(hash.get(fruits[left])==0){
                    hash.remove(fruits[left]);
                }
                left++;
                System.out.println(left);
            }
            len=Math.max(len,right-left+1);
        }
        return len;
    }
}
